interface Usb {
    static final String version = "2.0";
    abstract public void start();
    abstract public void stop();
}

interface Keyboard extends Usb {
// interface Keyboard {
    abstract public int keyDown();
    abstract public int keyUp();
}

class Movedisk implements Usb {
    public void start() {
        System.out.printf("Movedisk start...!\n");
    }

    public void stop() {
        System.out.printf("Movedisk stop...!\n");
    }
}

// class GH60 implements Usb, Keyboard {
class GH60 implements Keyboard {
    public void start() {
        System.out.printf("GH60 start...!\n");
    }

    public void stop() {
        System.out.printf("GH60 stop...!\n");
    }

    public int keyDown() {
        System.out.printf("keyDown ESC...!\n");
        return 27;
    }

    public int keyUp() {
        System.out.printf("keyUp ESC...!\n");
        return 27;
    }
}

class Computer {
    public void usbWork(Usb u) {
        u.start();
        u.stop();
    }

    public void keyboardWork(Keyboard k) {
        usbWork(k);
        k.keyDown();
        k.keyUp();
    }
}


public class interfaceTest {
    static public void main(String [] args) {
        new Computer().usbWork(new Movedisk());
        new Computer().usbWork(new GH60());
        new Computer().keyboardWork(new GH60());
    }
}
